package com.jason.system.mapper;

import com.jason.system.entity.AdminPermission;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @author jie
 * @version 1.0
 * success come from self-discipline
 * @date 2021/3/30 12:08
 */
public interface PermissionMapper {

  /**
   * 获取所有权限集合
   * @return List<AdminPermission>
   */
  List<AdminPermission> getAllPermissions();

  /**
   * 通过rid获取角色所属权限的id集合，以string集合表示，“,”分割
   * @param rId 角色id
   * @return pIds(String)
   */
  String getPermissionsByRid(@Param("rId") Integer rId);

  /**
   * 通过pId的集合查找权限
   * @param pIds 权限id的String集合
   * @return List<AdminPermission>
   */
  List<AdminPermission> getPermissionById(@Param("pIds") List<Integer> pIds);

  /**
   * 添加角色和权限直接的关联关系
   * @param rId 角色id
   * @param pId 权限id
   */
  void insertToRolePermission(@Param("rId") Integer rId, @Param("pId") Integer pId);

  /**
   * 删除角色和权限直接的关联关系
   * @param rId 角色id
   * @param pId 权限id
   */
  void deleteToRolePermission(@Param("rId") Integer rId, @Param("pId") Integer pId);
}
